home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 401-425 / disk_402 / stdfile / vollist.c < prev   
C/C++ Source or Header  |  1992-05-06  |  733b  |  47 lines

  1. #include <libraries/dosextens.h>
  2.  
  3. #define toAPTR(b) ((b)<<2)
  4. #define toBPTR(a) ((a)>>2)
  5.  
  6. struct DeviceList *list;
  7.  
  8. OpenVolList()
  9. {
  10.     extern struct DosLibrary *DOSBase;
  11.     struct RootNode *root;
  12.     struct DosInfo *info;
  13.  
  14.     root = DOSBase -> dl_Root;
  15.     info = toAPTR(root->rn_Info);
  16.     list = toAPTR(info->di_DevInfo);
  17. }
  18.  
  19. ReadVolList(name)
  20. char name[32];
  21. {
  22.     struct DeviceList *next;
  23.  
  24.     while(list) {
  25.         next = toAPTR(list->dl_Next);
  26.         if(list->dl_Type == DLT_VOLUME) {
  27.             char *ptr;
  28.             int count;
  29.             ptr = toAPTR((BPTR)list->dl_Name);
  30.             count = *ptr++;
  31.             if(count > 30)
  32.                 count = 30;
  33.             strncpy(name, ptr, count);
  34.             name[count++] = ':';
  35.             name[count] = 0;
  36.             list = next;
  37.             return 1;
  38.         }
  39.         list = next;
  40.     }
  41.     return 0;
  42. }
  43.  
  44. CloseVolList()
  45. {
  46. }
  47.